using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data; 
using System.Data.SqlClient; 
using System.Data.SqlTypes; 
using SolucionUtiles; 
using SolucionEntidad; 
namespace SolucionDatos 
{ 
   public class EstadoOrdenCompraDao 
    { 
        private SqlConnection cn; 
        public EstadoOrdenCompraDao(SqlConnection cn) 
        { 
           this.cn = cn; 
        } 
        public void insert(EstadoOrdenCompra obj)
        { 
           SqlCommand command = new SqlCommand("INSERT INTO estado_orden_compra " + 
           "(numeroOrdenCompra,idResponsable,estado,fechaRegistro,observacion,idFile) VALUES" + 
           "(@numeroOrdenCompra,@idResponsable,@estado,@fechaRegistro,@observacion,@idFile)", this.cn); 

command.Parameters.Add(new SqlParameter("@numeroOrdenCompra", obj.numeroOrdenCompra)); 
command.Parameters.Add(new SqlParameter("@idResponsable", obj.idResponsable)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.Parameters.Add(new SqlParameter("@fechaRegistro", obj.fechaRegistro)); 
command.Parameters.Add(new SqlParameter("@observacion", obj.observacion)); 
command.Parameters.Add(new SqlParameter("@idFile", obj.idFile)); 
command.ExecuteNonQuery(); 
} 
  		public void update(EstadoOrdenCompra obj) 
    	{ 
        	SqlCommand command = new SqlCommand("UPDATE EstadoOrdenCompra " + 
			" SET " + 
"fechaRegistro=@fechaRegistro" + 
",observacion=@observacion" + 
",idFile=@idFile" + 
 " WHERE " + 
"numeroOrdenCompra=@numeroOrdenCompra" 
+" AND idResponsable=@idResponsable" 
+" AND estado=@estado" 
,this.cn); 
command.Parameters.Add(new SqlParameter("@numeroOrdenCompra", obj.numeroOrdenCompra)); 
command.Parameters.Add(new SqlParameter("@idResponsable", obj.idResponsable)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.Parameters.Add(new SqlParameter("@fechaRegistro", obj.fechaRegistro)); 
command.Parameters.Add(new SqlParameter("@observacion", obj.observacion)); 
command.Parameters.Add(new SqlParameter("@idFile", obj.idFile)); 
command.ExecuteNonQuery(); 
} 
       public void delete(EstadoOrdenCompra obj){ 
SqlCommand command = new SqlCommand("DELETE FROM estado_orden_compra WHERE "  
 +"numeroOrdenCompra=@numeroOrdenCompra" 
+" AND idResponsable=@idResponsable" 
+" AND estado=@estado" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@numeroOrdenCompra", obj.numeroOrdenCompra)); 
command.Parameters.Add(new SqlParameter("@idResponsable", obj.idResponsable)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.ExecuteNonQuery(); 
} 
        public EstadoOrdenCompra get(EstadoOrdenCompra obj) 
{ 
   EstadoOrdenCompra record = null; 
    SqlCommand command = new SqlCommand("SELECT numeroOrdenCompra,idResponsable,estado,fechaRegistro,observacion,idFile FROM estado_orden_compra where " 
 +"numeroOrdenCompra=@numeroOrdenCompra" 
+" AND idResponsable=@idResponsable" 
+" AND estado=@estado" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@numeroOrdenCompra", obj.numeroOrdenCompra)); 
command.Parameters.Add(new SqlParameter("@idResponsable", obj.idResponsable)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 

    SqlDataReader dr = command.ExecuteReader();
dr.Read(); 
record = new EstadoOrdenCompra(); 
if (dr["numeroOrdenCompra"] == DBNull.Value) { record.numeroOrdenCompra = SqlString.Null; } else { record.numeroOrdenCompra = (String)dr["numeroOrdenCompra"]; } 
if (dr["idResponsable"] == DBNull.Value) { record.idResponsable = SqlInt32.Null; } else { record.idResponsable = (Int32)dr["idResponsable"]; } 
if (dr["estado"] == DBNull.Value) { record.estado = SqlInt32.Null; } else { record.estado = (Int32)dr["estado"]; } 
if (dr["fechaRegistro"] == DBNull.Value) { record.fechaRegistro = SqlDateTime.Null; } else { record.fechaRegistro = (DateTime)dr["fechaRegistro"]; } 
if (dr["observacion"] == DBNull.Value) { record.observacion = SqlString.Null; } else { record.observacion = (String)dr["observacion"]; } 
if (dr["idFile"] == DBNull.Value) { record.idFile = SqlInt32.Null; } else { record.idFile = (Int32)dr["idFile"]; } 
this.cn.Close(); 
return record; 
} 
     public List<EstadoOrdenCompra> getList() 
{ 
   List<EstadoOrdenCompra> list = new List<EstadoOrdenCompra>(); 
    SqlCommand command = new SqlCommand("SELECT numeroOrdenCompra,idResponsable,estado,fechaRegistro,observacion,idFile FROM estado_orden_compra", this.cn); 
    SqlDataReader dr = command.ExecuteReader(); 
    while (dr.Read()) 
    { 
EstadoOrdenCompra obj = new EstadoOrdenCompra(); 
if (dr["numeroOrdenCompra"] == DBNull.Value) { obj.numeroOrdenCompra = SqlString.Null; } else { obj.numeroOrdenCompra = (String)dr["numeroOrdenCompra"]; } 
if (dr["idResponsable"] == DBNull.Value) { obj.idResponsable = SqlInt32.Null; } else { obj.idResponsable = (Int32)dr["idResponsable"]; } 
if (dr["estado"] == DBNull.Value) { obj.estado = SqlInt32.Null; } else { obj.estado = (Int32)dr["estado"]; } 
if (dr["fechaRegistro"] == DBNull.Value) { obj.fechaRegistro = SqlDateTime.Null; } else { obj.fechaRegistro = (DateTime)dr["fechaRegistro"]; } 
if (dr["observacion"] == DBNull.Value) { obj.observacion = SqlString.Null; } else { obj.observacion = (String)dr["observacion"]; } 
if (dr["idFile"] == DBNull.Value) { obj.idFile = SqlInt32.Null; } else { obj.idFile = (Int32)dr["idFile"]; } 
list.Add(obj); 
} 
return list; 
} 
} 
} 
